package com.vhall.component.entity.data.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author shimingming
 * @since 2023/5/29 15:33
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LiveScheduleDetailRspVO implements Serializable {


    /**
     * 房间id
     */
    @JsonProperty("il_id")
    @ParamName("il_id")
    private Integer ilId;

    @ParamName(value = "room_id")
    @JsonProperty(value = "room_id")
    private String roomId;

    /**
     * 房间标题
     */
    private String subject;

    /**
     * 直播类型 1 直播 2 假直播 3 点播
     */
    @JsonProperty("live_type")
    @ParamName("live_type")
    private Integer liveType;

    /**
     * 状态>0|待直播/预约,1|直播中,2|直播结束
     */
    @ApiModelProperty(value = "状态>0|待直播/预约,1|直播中,2|直播结束")
    @ParamName("status")
    @JsonProperty("status")
    private Integer status;

    /**
     * 封面图片地址
     */
    @ApiModelProperty(value = "封面图片地址")
    @JsonProperty("cover_image")
    @ParamName("cover_image")
    private String coverImage;

    /**
     * 预计开始时间 2023-01-01 10:11:10
     */
    @ApiModelProperty(value = "预计开始时间")
    @ParamName("start_time")
    @JsonProperty("start_time")
    private LocalDateTime startTime;

    /**
     * name
     */
    @ParamName(value = "name")
    @JsonProperty(value = "name")
    private String name;

    /**
     * 是否开启预约标记 0 关；1 开
     */
    @ParamName(value = "reservation_flag")
    @JsonProperty(value = "reservation_flag")
    private Integer reservationFlag;


    /**
     * 回放id
     */
    @ParamName(value = "record_id")
    @JsonProperty(value = "record_id")
    private String recordId;

    /**
     * 直播来源,从创建人身上获取
     */
    @ApiModelProperty(value = "直播来源,从创建人身上获取")
    @ParamName("org_code")
    @JsonProperty("org_code")
    private String orgCode;

    /**
     * 直播来源,从创建人身上获取
     */
    @ApiModelProperty(value = "直播来源,从创建人身上获取")
    @ParamName("org_name")
    @JsonProperty("org_name")
    private String orgName;

    /**
     * 主播id
     */
    @ParamName("anchor_id")
    @JsonProperty("anchor_id")
    private Integer anchorId;

    /**
     * 主播名字
     */
    @ParamName("anchor_name")
    @JsonProperty("anchor_name")
    private String anchorName;

    /**
     *所属栏目-id
     */
    @ApiModelProperty(value = "所属栏目-id")
    @ParamName("column_id")
    @JsonProperty("column_id")
    private Integer columnId;

    /**
     * 所属栏目-名字
     */
    @ApiModelProperty(value = "所属栏目-名字")
    @ParamName("column_name")
    @JsonProperty("column_name")
    private String columnName;

    /**
     * 直播类型: 投教类,投顾类,产品类,证券研究类
     */
    @ApiModelProperty(value = "直播类型: 投教类,投顾类,产品类,证券研究类")
    @ParamName("live_content_type")
    @JsonProperty("live_content_type")
    private Integer liveContentType;

    /**
     * 直播类型: 投教类,投顾类,产品类,证券研究类
     */
    @ApiModelProperty(value = "直播类型: 投教类,投顾类,产品类,证券研究类")
    @ParamName("live_content_type_name")
    @JsonProperty("live_content_type_name")
    private String liveContentTypeName;


    /**
     * 视频时长
     * 01:12:20 表示1小时12分钟20秒
     */
    @JsonProperty(value = "live_time")
    @ParamName(value = "live_time")
    private String liveTime;
}
